#!/bin/bash
########################
#SVN 特殊 .svn 文件复制

########################
####### define  #######  目录以/结尾
src_pwd=''
#svn 工作目录  
work_pwd='/cygdrive/e/disk/jd_mem/'
to_pwd='/cygdrive/w/'
bin_path="/cygdrive/d/cygwin/bin/"
#错误状态
glo_state=0
####### fun  #######

#产生 列表 get .svn  list  
get_svn_list(){
	#echo ${bin_path}find
	#同名命令,不同路径
	svn_list=$(${bin_path}find ./ -path "*/.svn*")
}
#复制文件
run_cp(){
	for loop in $svn_list
	do
		#echo "$loop"
		loop=${loop#*/} 
		#echo $loop
		#目录存在检查
		if [ -d  ./$loop ] && [ ! -e ${to_pwd}/$loop   ]
		then
			echo "_-_mkdir -p ${to_pwd}/$loop-_-"
			mkdir -p ${to_pwd}/$loop
		fi
		#是目录 返回
		if [ -d  ${to_pwd}/$loop  ]
		then
			continue
		fi
		#只复制文件  (-u -f  可以直接选)
		echo "_-_cp  -f ./$loop  ${to_pwd}/$loop-_-"
		cp -f ./$loop  ${to_pwd}/$loop
		if [ $? -ne 0 ]
		then
			glo_state=1
			echo -e "\n-----------error--------------\n"
		fi
	done
}


####### run  #######
src_pwd=$( pwd )
#echo "_-_$src_pwd-_-"
cd "$work_pwd"
#开始运行

#获得要复制的列表
get_svn_list
#运行复制
run_cp


echo "?_-_$glo_state-_-"

#回原来目录
#echo "_-_$src_pwd-_-"
cd "$src_pwd"

